package top.yxqz.listener.demo2;

import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.annotation.WebListener;

/**
 * @author Mr.余
 * @date 2022/12/8
 * @package top.yxqz.listener.demo2
 * 监听请求域数据
 */
@WebListener
public class MyServletRequestAttributeListener implements ServletRequestAttributeListener {


    /**
     * 监听首次添加数据
     * @param servletRequestAttributeEvent
     */
    @Override
    public void attributeAdded(ServletRequestAttributeEvent servletRequestAttributeEvent) {
//        System.out.println("你好，我发现了你已经在request域中写了数据");
    }

    /**
     * 监听删除数据
     * 只有调用相关的移除属性方法才可以监听得到
     * @param servletRequestAttributeEvent
     */
    @Override
    public void attributeRemoved(ServletRequestAttributeEvent servletRequestAttributeEvent) {
        System.out.println("检测到你已经删除request域中的数据");

    }

    /**
     * 监听修改数据
     */
    @Override
    public void attributeReplaced(ServletRequestAttributeEvent event) {
        String name = event.getName();//捕获到 当前正在被操作属性的key
        Object value = event.getValue(); // 捕获到了修改后的值
        System.out.println("检测到你修改了request域中的数据");
        System.out.println(name+"================="+value);

    }
}
